package br.com.dispositivosmoveis.acompanhamentodeconta.service;

import java.util.List;

import android.content.Context;
import android.database.sqlite.SQLiteConstraintException;
import android.telephony.TelephonyManager;
import br.com.dispositivosmoveis.acompanhamentodeconta.abstracts.ContaService;
import br.com.dispositivosmoveis.acompanhamentodeconta.abstracts.CrudService;
import br.com.dispositivosmoveis.acompanhamentodeconta.app.App;
import br.com.dispositivosmoveis.acompanhamentodeconta.model.Conta;
import br.com.dispositivosmoveis.acompanhamentodeconta.repository.ContaRepositoryImpl;

public class ContaServiceImpl extends CrudService<Conta, ContaRepositoryImpl> implements ContaService {
	

	@Override
	public Long insert(Conta entity) throws SQLiteConstraintException, Exception {
		return this.getRepository().insert(entity);
	}

	@Override
	public void update(Conta entity) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Conta obtain(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Conta> getAll() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Conta findByComandaPrincipal(String numComandaPrincipal) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String generateCodConta(String numeroComanda) {
		String codConta = numeroComanda + this.getImei(App.getInstance().getApplicationContext()).substring(0, 2);
		return codConta;
	}
	
	private String getImei(Context ctx) {
		TelephonyManager mngr = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE);
		
		return  mngr.getDeviceId();
	}

}
